﻿
import pandas as pd
import matplotlib.pyplot as plt
# 设置字体
plt.rcParams['font.sans-serif'] = ['STSong']
plt.rcParams['axes.unicode_minus'] = False

df = pd.read_csv("top250-1.csv", sep="#", encoding='utf-8', names=['num', 'title', 'year', 'area', 'genre', 'rating_num', 'comment_num', 'href'])

# 获取前十电影的数据
top_10_movies = df.head(11)

# 提取电影名称和评分数
movies = top_10_movies['title']
rating_nums = top_10_movies['rating_num']

# 创建水平条形图
plt.barh(movies, rating_nums)

# 添加标题和标签，利用循环将前十的评分显示在图上
for i, v in enumerate(rating_nums):
    plt.text(v, i, str(v), color='blue', fontweight='bold')
plt.title('排名前十的电影评分')
plt.yticks([])
plt.ylabel(["肖申克的救赎 霸王别姬 阿甘正传 泰坦尼克号 这个杀手不太冷 千与千寻 美丽人生 辛德勒的名单 星际穿越 盗梦空间"])
plt.xlabel('评分')
plt.xticks(rotation=90)
# 显示图形

plt.show()